<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../style.css">
</head>
<body>
<h1>apache在mac上的问题（原因不明）</h1>
<p>一句话概括，就是自带的apache运行正常，homebrew装的却总是出错。</p>
<p>运行<code>sudo apachectl start</code>，结果80端口啥也没有，总是连到8080端口去。</p>
<p>访问localhost显示连不上，<code>nmap localhost</code>一看好家伙。不过我最初没想到是apache连到8080端口上去了，还以为是我nginx没关。</p>
<p>于是乎就<code>nginx -s stop</code>（顺带一提后来也加了sudo试了一遍）</p>
<p>然鹅报错<code>nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)</code></p>
<p>于是本喵决定看看是啥玩意占用了端口，<code>sudo lsof -i:8080</code>一看，满屏的httpd。。</p>
<p>一想可能是因为我之前改了配置的问题，于是就这样又改了回来然后restart，but nothing changed.</p>
<p>在无数次<code>sudo killall -9 httpd</code>之后累的不行了，想放弃的时候秃然想起来还有一个解决方案，没错就是用系统自带的版本。</p>
<p>输入<code>where apachectl</code>（注：这个命令只有在zsh里有，bash里是木有用的），显示：</p>
<pre><code>/usr/local/bin/apachectl
/usr/sbin/apachectl
</code></pre>
<p>没错/usr/local/bin那个是我自己装的，/usr/sbin那个是自带的。</p>
<p>运行<code>sudo /usr/sbin/apachectl start</code>然后再nmap一下，没错就这么好了。。。真是无语。。。</p>
<p>（彩蛋：之前我试着访问localhost:8080的时候居然显示出了nginx的欢迎界面。。你没听错apache显示了nginx的界面。。原因不明。。）</p>
<br /><br />
<small><small>最后修改于Sun Jun 27 23:51:11 2021</small></small>
</body>
</html>